home *** CD-ROM | disk | FTP | other *** search
/ ftp.hitl.washington.edu / ftp.hitl.washington.edu.tar / ftp.hitl.washington.edu / pub / people / tsoper / CT Explorer / Transmitter.cs < prev    next >
Text File  |  2005-05-23  |  4KB  |  153 lines

  1. using System;
  2. using System.Windows.Forms;
  3.  
  4. namespace PCIBird
  5. {
  6.     /// <summary>
  7.     /// Summary description for Board.
  8.     /// </summary>
  9.     public class Xmtr
  10.     {
  11.         
  12.         public SerialNumberTXParameter SerialNumberTX;
  13.         public ReferenceFrameParameter ReferenceFrame;
  14.         public XYZReferenceFrameParameter XYZReferenceFrame;
  15.  
  16.         PCIBirdWrapper pciBird;
  17.         ushort id;
  18.  
  19.         //overloaded constructors
  20.         public Xmtr()
  21.         {
  22.             //create wrapper library
  23.             pciBird = new PCIBirdWrapper();
  24.             id = 0; //initialize id to 0
  25.             LoadParameters();
  26.         }
  27.         public Xmtr(ushort ID)
  28.         {
  29.             //create wrapper library
  30.             pciBird = new PCIBirdWrapper();
  31.             id = ID;
  32.             LoadParameters();
  33.         }
  34.         public Xmtr(ushort ID, PCIBirdWrapper pciBirdWrapper)
  35.         {
  36.             //create wrapper library
  37.             pciBird = pciBirdWrapper;
  38.             id = ID;
  39.             LoadParameters();
  40.         }
  41.  
  42.         
  43.         private void LoadParameters()
  44.         {
  45.             //instantiate parameters
  46.             SerialNumberTX = new SerialNumberTXParameter(id,pciBird);
  47.             ReferenceFrame = new ReferenceFrameParameter(id,pciBird);
  48.             XYZReferenceFrame = new XYZReferenceFrameParameter(id,pciBird);
  49.         }
  50.  
  51.         public XmtrConfig GetXmtrConfig()
  52.         {
  53.             return pciBird.GetXmtrConfig(id);
  54.         }
  55.  
  56.         public void PrintXmtrConfig(RichTextBox rtb)
  57.         {
  58.             XmtrConfig xc = GetXmtrConfig();
  59.  
  60.             string ConfigStr =    "\n\nTRANSMITTER " + id + " CONFIGURATION:\n" +
  61.                 "Serial Number:        "    + xc.serialNumber + "\n" +
  62.                 "Board Number:        "    + xc.boardNumber + "\n" +
  63.                 "Channel Number:        " + xc.channelNumber + "\n" +
  64.                 "Type:            " + xc.type + "\n" +
  65.                 "Attached:            "    + xc.attached + "\n";
  66.                 
  67.             rtb.AppendText(ConfigStr);
  68.         }
  69.  
  70.         public void PrintXmtrParameters( RichTextBox rtb )
  71.         {
  72.             string paramStr = "\n\nTRANSMITTER " + id + " PARAMETERS:\n" +
  73.                 "Serial Number TX:        " + this.SerialNumberTX.Get() + "\n" +
  74.                 "Reference Frame:    " + "    azimuth:" + this.ReferenceFrame.Get().a +
  75.                                         "        elevation:"    + this.ReferenceFrame.Get().e + 
  76.                                         "    roll:" + this.ReferenceFrame.Get().r + "\n" +        
  77.                 "XYZ Reference Frame:    " + this.XYZReferenceFrame.Get() + "\n";
  78.  
  79.             rtb.AppendText(paramStr);
  80.         }
  81.         /************************ PARAMETER CLASSES ***********************************/
  82.         public class SerialNumberTXParameter
  83.         {
  84.             PCIBirdWrapper pciBird;
  85.             ushort id;
  86.  
  87.             public SerialNumberTXParameter(ushort ID, PCIBirdWrapper pciBirdWrapper)
  88.             {
  89.                 id = ID;
  90.                 pciBird = pciBirdWrapper;
  91.             }
  92.  
  93.             public int Get()
  94.             {
  95.                 object o = new int();
  96.                 pciBird.GetXmtrParam(id,XMTR_PARAMETER_TYPE.SERIAL_NUMBER_TX,o,4);
  97.                 return Convert.ToInt32(o);
  98.             }
  99.         }
  100.  
  101.         public class ReferenceFrameParameter
  102.         {
  103.             PCIBirdWrapper pciBird;
  104.             ushort id;
  105.  
  106.             public ReferenceFrameParameter(ushort ID, PCIBirdWrapper pciBirdWrapper)
  107.             {
  108.                 id = ID;
  109.                 pciBird = pciBirdWrapper;
  110.             }
  111.  
  112.             public AnglesReading Get()
  113.             {
  114.                 AnglesReading rf = new AnglesReading();
  115.                 pciBird.GetXmtrParam(id,XMTR_PARAMETER_TYPE.REFERENCE_FRAME,rf,24);
  116.                 return rf;
  117.             }
  118.  
  119.             public void Set(AnglesReading rf)
  120.             {
  121.                 pciBird.SetXmtrParam(id,XMTR_PARAMETER_TYPE.REFERENCE_FRAME,rf,24);
  122.                 return;
  123.             }
  124.         }
  125.  
  126.         public class XYZReferenceFrameParameter
  127.         {
  128.             PCIBirdWrapper pciBird;
  129.             ushort id;
  130.  
  131.             public XYZReferenceFrameParameter(ushort ID, PCIBirdWrapper pciBirdWrapper)
  132.             {
  133.                 id = ID;
  134.                 pciBird = pciBirdWrapper;
  135.             }
  136.  
  137.             public bool Get()
  138.             {
  139.                 object o = new int();
  140.                 pciBird.GetXmtrParam(id,XMTR_PARAMETER_TYPE.XYZ_REFERENCE_FRAME,o,4);
  141.                 return Convert.ToBoolean(o);
  142.             }
  143.  
  144.             public void Set(bool torf)
  145.             {
  146.                 int xyzrf = torf.CompareTo(false);
  147.                 pciBird.SetXmtrParam(id,XMTR_PARAMETER_TYPE.XYZ_REFERENCE_FRAME,xyzrf,4);
  148.                 return;
  149.             }
  150.         }
  151.     }
  152. }
  153.